With the rapid development of mobile communication technology, voice services are gradually replacing text services. Users can directly input voices at a client. The client receives the voice input from a user, converts the received voices into certain voice data and processes the converted voice data.
Conventionally, the client often divides the voice data, packs the pieces of the voice data into a plurality of data packets and transmits these data packets to the server consecutively according to a sequence in the voice data. A first data packet that is transmitted by the client corresponds to an initial packet, and a last transmitted data packet corresponds to a final packet. The data packets other than the initial packet and the final packet correspond to middle packets. When the initial packet from the client is received, the server applies for voice resources and processes the initial packet using the voice resources. After the initial packet is processed, the server waits for a next data packet transmitted by the client. Upon receipt of a middle packet from the client, the server processes the received middle packet using the voice resources. When the final packet from the client is received, the server processes the received final packet using the voice resources and, after the final packet is processed, the server sends the processing results to the client.
The above-noted conventional approach has some problems. For example, there is a long delay between two data packets transmitted by the client. After a received data packet is processed using the voice resources, the server has to wait for a long time before processing a next data packet from the client. During the delay, the voice resources are not used, hence reducing the utilization ratio of voice resources and the concurrent processing capacity of voice data.
Hence it is highly desirable to in the techniques for voice data processing.